Fix buildsystem to detect udev > version 124
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 25 Jun 2009 12:02:37 +0000 (13:02 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 25 Jun 2009 12:02:37 +0000 (13:02 +0100)
udev removed the udevinfo symlink from versions higher than 123 and
xen's build-system could not detect if udev is in place and has the
required version.

Signed-off-by: Marc-A. Dahlhaus <mad@wol.de>
install.sh
tools/check/check_udev
tools/hotplug/Linux/Makefile

index fab9472c866dbb6d954781f2957d2f8651b8a647..77d24087f2444e2c8dd75a0e1cf81b101731966e 100755 (executable)
@@ -30,6 +30,8 @@ echo "Installing Xen from '$src' to '$dst'..."
 [ -x "$(which udevinfo)" ] && \
   UDEV_VERSION=$(udevinfo -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/')
 
+[ -z "$UDEV_VERSION" -a -x /sbin/udevadm ] && UDEV_VERSION=$(/sbin/udevadm -V)
+
 if [ -n "$UDEV_VERSION" ] && [ $UDEV_VERSION -ge 059 ]; then
   echo " - installing for udev-based system"
   rm -rf "$tmp/etc/hotplug"
index 3deaa36ccb6295517155d19d5168c62c93844e02..7d4360d0b4f5c78c794ccd3372aeaf633f6d012d 100755 (executable)
@@ -8,8 +8,10 @@ OpenBSD|NetBSD|FreeBSD)
        has_or_fail vnconfig
        ;;
 Linux)
-       has_or_fail udevinfo
-       [ "`udevinfo -V | awk '{print $NF}'`" -ge 59 ] 2>/dev/null || \
+       has /sbin/udevadm && udevver=`/sbin/udevadm -V`
+       [ -z "$udevver" ] && has_or_fail udevinfo && \
+               udevver=`udevinfo -V | awk '{print $NF}'`
+       [ "$udevver" -ge 59 ] 2>/dev/null || \
                has hotplug || \
                fail "udev is too old, upgrade to version 59 or later"
        ;;
index 5c83fe452696af5da9f21dd501aca5274e77edee..8c7fe5d033672173e09b3382ede8ef3af53240dc 100644 (file)
@@ -24,6 +24,12 @@ XEN_SCRIPT_DATA += vtpm-migration.sh vtpm-impl
 XEN_HOTPLUG_DIR = $(CONFIG_DIR)/hotplug
 XEN_HOTPLUG_SCRIPTS = xen-backend.agent
 
+ifeq ($(shell [ -x /sbin/udevadm ] && echo 1),1)
+UDEVINFO = /sbin/udevadm
+else
+UDEVINFO = /usr/bin/udevinfo
+endif
+
 UDEV_RULES_DIR = $(CONFIG_DIR)/udev
 UDEV_RULES = xen-backend.rules xend.rules
 
@@ -32,7 +38,7 @@ DE = $(if $(DESTDIR),$(shell readlink -f $(DESTDIR)),)
 ifeq ($(findstring $(DI),$(DE)),$(DI))
 HOTPLUGS=install-hotplug install-udev
 else
-ifeq ($(shell [ -x /usr/bin/udevinfo ] && [ `/usr/bin/udevinfo -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/'` -ge 059 ] && echo 1),1)
+ifeq ($(shell [ -x $(UDEVINFO) -a `$(UDEVINFO) -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/'` -ge 059 ] && echo 1),1)
 HOTPLUGS=install-udev
 else
 HOTPLUGS=install-hotplug